import 'package:flutter/material.dart';
import 'package:mobile_app.core/core/presentation/theme/styles.dart';

abstract class HomeCoreStyles {
  static const Color cardCorrectAnswerTextColor = Color(0xff4caf50);
  static const Color translationSelectionCardCorrectAnswerButtonColor = Color(0xff66d26c);

  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Card
  /////////////////////////////////////////////////////////////////////////////////////////////////

  static TextStyle cardButtonTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 20,
    fontWeight: FontWeight.w400,
    letterSpacing: 0.2,
    height: 1.1,
  );

  static TextStyle cardLexicalItemNameTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontWeight: FontWeight.w400,
    fontSize: 40,
    letterSpacing: -0.8,
  );

  static TextStyle keyboardCardLexicalItemNameTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontWeight: FontWeight.w400,
    fontSize: 33,
    letterSpacing: -0.41,
  );

  static TextStyle cardLexicalItemTranscriptionTextStyle = CoreStyles.baseTextStyle.copyWith(
    letterSpacing: 0.5,
    fontWeight: FontWeight.w300,
    fontSize: 20,
  );

  static TextStyle cardLexicalItemUnitTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontWeight: FontWeight.w400,
    fontSize: 18.5,
  );

  static TextStyle cardKeyboardTextFieldButtonTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 15.5,
    letterSpacing: -0.41,
    fontWeight: FontWeight.w400,
  );

  static TextStyle cardLexicalItemUseCaseTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 16.5,
    letterSpacing: 0.2,
    fontWeight: FontWeight.w400,
  );
  static TextStyle cardLexicalItemBoldUseCaseTextStyle = cardLexicalItemUseCaseTextStyle.copyWith(
    fontWeight: FontWeight.w600,
  );

  static TextStyle cardUseCaseViewTitleTextStyle = CoreStyles.baseTextStyle.copyWith(
    letterSpacing: 0,
    fontSize: 26,
    fontWeight: FontWeight.w600,
  );

  static TextStyle cardUnderlyingSurfaceBodyTextStyle = CoreStyles.baseTextStyle.copyWith(
    letterSpacing: 0.5,
    fontSize: 23,
    fontWeight: FontWeight.w300,
    height: 1.35,
  );

  static TextStyle cardSymbolInputSymbolButtonTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 27,
    fontWeight: FontWeight.w500,
  );

  static TextStyle cardSymbolInputSymbolCounterTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 10,
    fontWeight: FontWeight.w600,
  );

  static TextStyle cardSymbolInputTextFieldTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 20,
    fontWeight: FontWeight.w400,
    letterSpacing: 0.2,
  );

  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Other
  /////////////////////////////////////////////////////////////////////////////////////////////////

  static TextStyle keyboardTextFieldTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 20,
    fontWeight: FontWeight.w400,
    letterSpacing: 0.2,
  );

  static TextStyle searchBarTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 16.5,
    fontWeight: FontWeight.w400,
    letterSpacing: -0.2,
    height: 1.2,
  );

  static const segmentedControlLabelTextStyle = TextStyle(
    textBaseline: TextBaseline.alphabetic,
    fontFamily: CoreStyles.fontFamily,
    height: 1.0,
    letterSpacing: 0,
    decoration: TextDecoration.none,
    color: Colors.transparent,
  );

  static final purchaseDisclaimerTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 10,
    fontWeight: FontWeight.w400,
    height: 1.2,
  );
}
